#ifndef Mdad1e05cdc2c46d897c6b7f0b54bd83e
#define Mdad1e05cdc2c46d897c6b7f0b54bd83e
/**
 *   Copyright (c) Rich Hickey. All rights reserved.
 *   The use and distribution terms for this software are covered by the
 *   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
 *   which can be found in the file epl-v10.html at the root of this distribution.
 *   By using this software in any fashion, you are agreeing to be bound by
 * 	 the terms of this license.
 *   You must not remove this notice, or any other, from this software.
 **/

/**
 *   Author: Timothy Baldridge
 **/
#include "Sequential.h"
#include "IPersistentStack.h"
#include "ICastable.h"

namespace clojure_lang
{
    /// <summary>
    /// Represents an immutable list. (sequential + stack + collection)
    /// </summary>
    class IPersistentList: virtual public Sequential, virtual public IPersistentStack, virtual public ICastable
    {
        Q_INTERFACES(clojure_lang::IPersistentStack clojure_lang::ICastables)
    };
}
Q_DECLARE_INTERFACE(clojure_lang::IPersistentList, "clojure.lang.IPersistentList/1.0")

#endif
